﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Zero.Frontend
{
    /// <summary>
    /// What buttons to show.
    /// </summary>
    public enum MessageBoxButton
    {
        /// <summary>
        /// </summary>
        OK,

        /// <summary>
        /// </summary>
        OKCancel,

        /// <summary>
        /// </summary>
        YesNo,

        /// <summary>
        /// </summary>
        YesNoCancel
    }

    /// <summary>
    /// What was result of message box.
    /// </summary>
    public enum MessageBoxResult
    {
        /// <summary>
        /// </summary>
        None,

        /// <summary>
        /// </summary>
        OK,

        /// <summary>
        /// </summary>
        Cancel,

        /// <summary>
        /// </summary>
        Yes,

        /// <summary>
        /// </summary>
        No
    }

    /// <summary>
    /// Service for handling messageboxes.
    /// </summary>
    public interface IMessageBoxService
    {
        /// <summary>
        /// Shows a message box with specified parameters.
        /// </summary>
        /// <param name="message"></param>
        /// <param name="caption"></param>
        /// <param name="buttons"></param>
        /// <returns></returns>
        MessageBoxResult Show(string message, string caption, MessageBoxButton buttons);
    }
}
